figure, moving_axis = plt.subplots(figsize=(10.5, 4.4)) # 创建单一宽幅投影视图
moving_axis.plot(df_price['日期'], df_price['收盘价'], label='收盘价', linewidth=1.5, color='#2C3E50', alpha=0.7) # 绘制原始序列
moving_axis.plot(df_price['日期'], df_price['MA5'], label='MA5', linewidth=1.8, color='#E3120B') # 绘制短期均线
moving_axis.plot(df_price['日期'], df_price['MA20'], label='MA20', linewidth=1.8, color='#008080') # 绘制长期均线
moving_axis.scatter(df_price.loc[golden_cross, '日期'], df_price.loc[golden_cross, 'MA5'], color='red', s=100, marker='^', label='金叉', zorder=5) # 标注上穿
moving_axis.scatter(df_price.loc[death_cross, '日期'], df_price.loc[death_cross, 'MA5'], color='green', s=100, marker='v', label='死叉', zorder=5) # 标注下穿
moving_axis.set_title('教学示例,非市场观测|移动平均交叉', fontsize=16, fontweight='bold') # 声明依据边界
moving_axis.set_xlabel('日期', fontsize=12) # 标注横轴
moving_axis.set_ylabel('价格(元)', fontsize=12) # 标注纵轴
moving_axis.legend(loc='best', fontsize=11, title='教学示例,非市场观测') # 合并为一个图例
moving_axis.grid(True, alpha=0.3) # 添加参考网格
moving_axis.tick_params(axis='x', rotation=30) # 旋转日期刻度避免拥挤
figure.tight_layout() # 调整单图布局
plt.show() # 显示完整图形